package cn.buddha.jehd;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

/**
 * @ClassName HystrixDashboardApplication
 * @Author 友野浩二
 * @Description hystrix-dashboard仪表盘
 * @Version 1.0
 * <pre>
 * Hystrix dashboard 仪表盘，就像汽车的仪表盘实时显示汽车的各项数据一样，Hystrix仪表盘主要用来监控Hystrix的实时运行状态，
 * 通过它我们可以看到Hystrix的各项指标信息，从而快速发现系统中存在的问题进而解决它。
 *
 * spring cloud中服务消费者一般会配置hystrix熔断器。实际的情况下，使用了hystrix的同时，还会对其进行实时的数据监控，
 *      反馈各类指标数据。hystrix dashboard是一款针对hystrix进行实时监控的工具，通过hystrix dashboard我们可以直观的看到
 *      各hystrix command的请求响应时间、请求成功率等数据，监控单个实例内的指标情况。
 * </pre>
 */
@SpringBootApplication
@EnableHystrixDashboard
@Slf4j
public class HystrixDashboardApplication {

    public static void main(String[] args) {
        SpringApplication.run(HystrixDashboardApplication.class, args);
        // 访问的controller在org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardController类中
        log.info("<<<<======== Tong Hystrix Dashboard Started ========>>>>"
                .concat(System.lineSeparator()).concat("http://127.0.0.1:9031/hystrix"));
    }

}
